﻿using System;

namespace MainGame.GamePlay
{
  public delegate void LevelWon<T>(T victory_data);
  public delegate void LevelLost();

  /// <summary>
  /// Un servizio di livello lancia due eventi: partita
  /// persa o partita vinta; in questo modo possiamo mostrare
  /// stats e schermate diverse a seconda del risultato del
  /// livello
  /// </summary>
  /// <typeparam name="VictoryStats"></typeparam>
  public interface ILevelManager<VictoryStats>
  {
    event LevelWon<VictoryStats> OnLevelWon;
    event LevelLost OnLevelLost;
  }
}
